import requests
import hashlib # 哈希

def make_md5(text):
    """
    Md5加密 只能加密字符串
    :param text:  需要加密的内容，必须是个字符串
    :return:
    """
    m = hashlib.md5() # 创建一个 md5加密工具
    m.update(str(text).encode(encoding='utf-8'))
    res = m.hexdigest()  # 生成加密后的内容
    return res


s = requests.session() # 创建会话
url = 'http://114.132.200.42:3456/user/login'
data = {
"username":"pythton1234",
"password":make_md5('xixi123456'),
"checkcode":"1234"
}
res = s.post(url=url, data=data) # 发送请求
# print(res.status_code)
# print(res.json())

a = res.json()
myuserid = (a['userId'])
myusertoken = (a['userToken'])

# 创建任务
createurl = 'http://114.132.200.42:3456/task/info'
mydata ={"title": '我的任务123'}
# 头部信息 同样以字典的形式存储
head = {'userId': myuserid, 'userToken': myusertoken}
# 以json的形式发送请求参数，只需要将参数名data改成json
# get请求无法以json形式发送请求参数
res = s.post(url=createurl, data=mydata, headers=head)
print(res.json())

# 查询任务，Get请求
Geturl = 'http://114.132.200.42:3456/task/info'
mydata = {"status": "0"}
res = s.get(url=Geturl, headers=head, params=mydata) # get请求params参数表示请求数据
print(res.json())

# 完成取消任务

# 文件上传
imgUrl = 'http://114.132.200.42:3456/user/uploal_action'
# ('参数名', ('文件名',open('文件路径','rb') ) )
myimg = [
    ('pic', ('波吉.jpg', open('波吉.jpg', 'rb')))
]
res = s.post(url=imgUrl, headers=head, files=myimg) # 关于文件上传的接口 files 表示
print(res.json())
